package com.grj.parking.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 车位信息表（含分配权重）
 * @TableName parking_space
 */
@TableName(value ="parking_space")
@Data
public class ParkingSpace implements Serializable {
    /**
     * 车位ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 租户ID
     */
    @TableField(value = "tenant_id")
    private Long tenantId;

    /**
     * 停车场ID
     */
    @TableField(value = "lot_id")
    private Long lotId;

    /**
     * 车位编号
     */
    @TableField(value = "space_number")
    private String spaceNumber;

    /**
     * 车位类型(1-普通,2-VIP,3-新能源)
     */
    @TableField(value = "space_type")
    private Integer spaceType;

    /**
     * 楼层
     */
    @TableField(value = "floor")
    private String floor;

    /**
     * 区域
     */
    @TableField(value = "zone")
    private String zone;

    /**
     * 状态(0-空闲,1-占用,2-维护中)
     */
    @TableField(value = "status")
    private Integer status;

    /**
     * 分配权重(1-100)，值越高越优先分配
     */
    @TableField(value = "allocation_weight")
    private Integer allocationWeight;

    /**
     * 权重说明(如"近入口","无障碍")
     */
    @TableField(value = "weight_reason")
    private String weightReason;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}